//
//  YMSSQLiteTools.swift
//  YMSWeibo
//
//  Created by 杨茂盛 on 2016/11/25.
//  Copyright © 2016年 杨茂盛. All rights reserved.
//

//创建数据库工具
import UIKit
import FMDB
class YMSSQLiteTools: NSObject {
    
    //1.单例对象
    static let shared:YMSSQLiteTools = YMSSQLiteTools()
    
    //2.创建数据库文件 并且打开数据库连接,并且单例对象一旦创建的时候就打开数据,必须有值
    let queue:FMDatabaseQueue //全局队列
    override init() {
        //3.确定数据库存储额路径 放在沙盒路径中
        let path = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as NSString).appendingPathComponent("AXF.db")
        //4.如果数据库不存在就创建数据库并打开连接
        queue = FMDatabaseQueue(path: path)
        
        print(path)
        super.init()
        
        //5.初始化的时候就应该创建对应的数据表
        creatTable()
    }

    //MARK: 创建表格
    private func creatTable(){
        //创建表格的指令
        
        let sql = "CREATE TABLE IF NOT EXISTS AXF (id INTEGER PRIMARY KEY AUTOINCREMENT,name text,icon text)"
        //使用queue中数据库操作的核心对象来执行sql语句
        queue.inTransaction { (db,rollBack) in
            let res = db!.executeStatements(sql)
            if res {
            print("创建表成功")
                
            }else{
            print("表格创建失败")
                //失败了执行回滚
                rollBack?.pointee = true
            }
        }
    }
}
